package cn.com.victorysoft.ylgl.service.fracturingpressure.domain;

import cn.com.victorysoft.ylgl.service.commons.domain.BaseEntity;
import cn.com.victorysoft.ylgl.service.commons.json.DateToISODateTimeSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

public class SmallPressureTestParas extends BaseEntity {

    private String wellId;

    private String wellPurpose;

    private String formationName;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date smallPressureTestDate;

    private BigDecimal designVolumeMax;

    private BigDecimal constructVolumeMax;

    private BigDecimal testFluidVolume;

    private BigDecimal bottomClosePressure;

    private BigDecimal fluidEfficiency;

    private BigDecimal netPressure;

    private BigDecimal closePressureGradient;

    private BigDecimal permeability;

    private String fluidFormula;

    private String injectionCurve;


    public String getWellId() {
        return wellId;
    }

    public void setWellId(String wellId) {
        this.wellId = wellId == null ? null : wellId.trim();
    }

    public String getWellPurpose() {
        return wellPurpose;
    }

    public void setWellPurpose(String wellPurpose) {
        this.wellPurpose = wellPurpose;
    }

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getSmallPressureTestDate() {
        return smallPressureTestDate;
    }

    @JsonSerialize(using = DateToISODateTimeSerializer.class)
    public void setSmallPressureTestDate(Date smallPressureTestDate) {
        this.smallPressureTestDate = smallPressureTestDate;
    }

    public BigDecimal getDesignVolumeMax() {
        return designVolumeMax;
    }

    public void setDesignVolumeMax(BigDecimal designVolumeMax) {
        this.designVolumeMax = designVolumeMax;
    }

    public BigDecimal getConstructVolumeMax() {
        return constructVolumeMax;
    }

    public void setConstructVolumeMax(BigDecimal constructVolumeMax) {
        this.constructVolumeMax = constructVolumeMax;
    }

    public BigDecimal getTestFluidVolume() {
        return testFluidVolume;
    }

    public void setTestFluidVolume(BigDecimal testFluidVolume) {
        this.testFluidVolume = testFluidVolume;
    }

    public BigDecimal getBottomClosePressure() {
        return bottomClosePressure;
    }

    public void setBottomClosePressure(BigDecimal bottomClosePressure) {
        this.bottomClosePressure = bottomClosePressure;
    }

    public BigDecimal getFluidEfficiency() {
        return fluidEfficiency;
    }

    public void setFluidEfficiency(BigDecimal fluidEfficiency) {
        this.fluidEfficiency = fluidEfficiency;
    }

    public BigDecimal getNetPressure() {
        return netPressure;
    }

    public void setNetPressure(BigDecimal netPressure) {
        this.netPressure = netPressure;
    }

    public BigDecimal getClosePressureGradient() {
        return closePressureGradient;
    }

    public void setClosePressureGradient(BigDecimal closePressureGradient) {
        this.closePressureGradient = closePressureGradient;
    }

    public BigDecimal getPermeability() {
        return permeability;
    }

    public void setPermeability(BigDecimal permeability) {
        this.permeability = permeability;
    }

    public String getFluidFormula() {
        return fluidFormula;
    }

    public void setFluidFormula(String fluidFormula) {
        this.fluidFormula = fluidFormula;
    }

    public String getInjectionCurve() {
        return injectionCurve;
    }

    public void setInjectionCurve(String injectionCurve) {
        this.injectionCurve = injectionCurve == null ? null : injectionCurve.trim();
    }

    public String getFormationName() {
        return formationName;
    }

    public void setFormationName(String formationName) {
        this.formationName = formationName;
    }
}